﻿//
// *************************************************************************************
// WP-Framework
// 
// Developed by
// Lukas Kretschmar (lkretschmar.dev@bluewin.ch)
//
// Switzerland, Copyright (c) 2013 lkretschmar
// This content is released under the MIT License (http://opensource.org/licenses/MIT).
//     
// *************************************************************************************
//
//


using System.Linq.Expressions;
using KretschIT.WP_Fx.EasyMoq.Calls.Properties;
using System.Reflection;

namespace KretschIT.WP_Fx.EasyMoq.Calls
{
    internal interface IPropertyHandler<T>
    {
        IPropertyMock<T> Setup(MemberExpression property);
        object GetValue(MemberExpression property);
        void SetValue(MemberExpression property, object value);
        void SetValue(PropertyInfo property, object value);
        int GetterCalls(MemberExpression property);
        int SetterCalls(MemberExpression property);
        int SetterCalls(PropertyInfo property);
    }
}
